<?php

/*
* Modelo: "valla.php"
*
* Realizado por:
* 	Carlos Calvo
*  	Elisa Conesa
*/

@include_once('enlaceBD.php');
@include_once('auditoria.php');

class Valla {
	
    /* Nombre de las Variables del Modelo (INFORMATIVO)
    
	*/
    
    // Variable para los resultados de las Consultas
    private $respuesta;
	
	// Tablas del Modelo
    private $trvp_datos_vp 			= "rvp_datos_vp";
	private $trvp_tipo_vp 			= "rvp_tipo_vp";
	private $trvp_categ_vp 			= "rvp_categ_vp";
	private $trvp_estad_vp 			= "rvp_estad_vp";
	private $testado_i 				= "estado_i";
	private $tmunicipio_i 			= "municipio_i";
	private $tparroquia_i 			= "parroquia_i";
	private $templeado 				= "empleado";
	
	
    // =================================================================================================================
    //	FUNCION - VERIFICAR VALLA PUBLICITARIA
    // =================================================================================================================
	
    public function verificar_valla( $id_valla ) {
        $conexion 	= new EnlaceBD;
        $var 		= $conexion->conectar( $_SESSION['db_rvp'] );
		
		$sql = "select id_valla as id_valla 
				from ".$_SESSION['db_rvp'].$_SESSION['schema_db'].".$this->trvp_datos_vp 
				where id_valla = $id_valla";
		
		$this->respuesta = $conexion->consultar($sql) 
			or die("No se pudo consultar la Valla Publicitaria");
        
		$temparray = $this->respuesta->buscar_fila();
        $conexion->desconectar();
		
        if ( $temparray['id_valla'] != "" ) {
            return true;     	// Si Existe
        } else {
            return false;      	// Si no Existe
        }
    }
	
	
	// =================================================================================================================
    //	FUNCION - INSERTAR LOS DATOS DE UNA VALLA PUBLICITARIA
    // =================================================================================================================
	
    public function insertar_datos_vp( $coord_x, $coord_y, $id_tipo_vp, $id_categ_vp, $id_estad_vp, $cod_estado, $cod_municipio, $cod_parroquia, $observaciones ) {
		$conexion 	= new EnlaceBD;
        $var 		= $conexion->conectar( $_SESSION['db_rvp'] );
		
		$fecha_actual 	= $conexion->getSQLTimeStamp();
		
		$sql = "insert into ".$_SESSION['db_rvp'].$_SESSION['schema_db'].".$this->trvp_datos_vp ( coord_x, coord_y, id_tipo_vp, id_categ_vp, id_estad_vp, averia, cod_estado, cod_municipio, cod_parroquia, login, fecha_registro, observaciones ) 
				values ( '$coord_x', '$coord_y', $id_tipo_vp, $id_categ_vp, $id_estad_vp, 'N', '$cod_estado', '$cod_municipio', '$cod_parroquia', '".$_SESSION['USER_LOGIN']."', $fecha_actual, '".strtoupper($observaciones)."' )";
		
        $this->respuesta = $conexion->consultar($sql) 
			or die("No se pudo Insertar los Datos de la Valla Publicitaria.");
		
        $conexion->desconectar();
        return true;
    }
	
	
    // =================================================================================================================
    //	FUNCION - MODIFICAR LOS DATOS DE UNA VALLA PUBLICITARIA
    // =================================================================================================================
	
    public function modificar_datos_vp( $id_valla, $coord_x, $coord_y, $id_tipo_vp, $id_categ_vp, $id_estad_vp, $cod_estado, $cod_municipio, $cod_parroquia, $observaciones ) {
		$conexion 	= new EnlaceBD;
        $var 		= $conexion->conectar( $_SESSION['db_rvp'] );
		
		$sql = "update ".$_SESSION['db_rvp'].$_SESSION['schema_db'].".$this->trvp_datos_vp set 
					coord_x = '$coord_x', 
					coord_y = '$coord_y', 
					id_tipo_vp = $id_tipo_vp, 
					id_categ_vp = $id_categ_vp, 
					id_estad_vp = $id_estad_vp, 
					cod_estado = '$cod_estado', 
					cod_municipio = '$cod_municipio', 
					cod_parroquia = '$cod_parroquia', 
					observaciones = '$observaciones' 
				where id_valla = $id_valla";
		
        $this->respuesta = $conexion->consultar($sql) 
			or die("No se pudo Modificar los Datos de la Valla Publicitaria.");
		
        $conexion->desconectar();
        return true;
    }
	
	
    // =================================================================================================================
    //	FUNCION - ACTUALIZAR EL STATUS DE UNA VALLA PUBLICITARIA
    // =================================================================================================================
	
	public function actualizar_status( $id_valla, $id_status ) {
		$conexion 	= new EnlaceBD;
        $var 		= $conexion->conectar( $_SESSION['db_rvp'] );
		
		$sql = "update ".$_SESSION['db_rvp'].$_SESSION['schema_db'].".$this->trvp_datos_vp set 
					id_status = $id_status 
				where id_valla = $id_valla";
		
		$this->respuesta = $conexion->consultar($sql) 
			or die("No se pudo actualizar el Status de la Valla Publicitaria con ID: $id_valla.");
		
		$conexion->desconectar();
		return true;
	}
	
	
	// =================================================================================================================
    //	FUNCION - CONSULTAR LAS VALLAS PUBLICITARIAS
    // =================================================================================================================
	
    public function consultar_vallas( $tipo_id, $id ) {
		
		if ( $tipo_id == "id_valla_r" ) {
			$lista_vallas = $this->consultar_vallas_id ( $id );
			
		} else if ( $tipo_id == "id_coord_r" ) {
			$parametro_id = split("_", $id);
			$lista_vallas = $this->consultar_vallas_coordenadas ( $parametro_id[0], $parametro_id[1] );
		}
		
		return $lista_vallas;
	}
	
	
	// =================================================================================================================
    //	FUNCION - CONSULTAR LAS VALLA PUBLICITARIA DADA LAS COORDENADAS
    // =================================================================================================================
	
    public function consultar_vallas_coordenadas( $coord_x, $coord_y ) {
		$conexion 	= new EnlaceBD;
        $var 		= $conexion->conectar( $_SESSION['db_rvp'] );
		
		$fmt_fecha 	= $conexion->extraerCampoFechaHora('dvp.fecha_registro');
		
		$sql = "select dvp.id_valla as id_valla, 
					dvp.id_tipo_vp as id_tipo_vp, 
					t.descripcion as desc_tipo_vp, 
					dvp.id_categ_vp as id_categ_vp, 
					c.descripcion as desc_categ_vp, 
					dvp.cod_estado as cod_estado, 
					e.estado as estado, 
					dvp.cod_municipio as cod_municipio, 
					m.municipio as municipio, 
					dvp.cod_parroquia as cod_parroquia, 
					p.parroquia as parroquia, 
					$fmt_fecha as fecha_registro 
				from ".$_SESSION['db_rvp'].$_SESSION['schema_db'].".$this->trvp_datos_vp as dvp, 
					".$_SESSION['db_rvp'].$_SESSION['schema_db'].".$this->trvp_tipo_vp as t, 
					".$_SESSION['db_rvp'].$_SESSION['schema_db'].".$this->trvp_categ_vp as c, 
					".$_SESSION['db_ctvtt'].$_SESSION['schema_db'].".$this->testado_i as e, 
					".$_SESSION['db_ctvtt'].$_SESSION['schema_db'].".$this->tmunicipio_i as m, 
					".$_SESSION['db_ctvtt'].$_SESSION['schema_db'].".$this->tparroquia_i as p 
				where dvp.coord_x = '$coord_x' and
					dvp.coord_y = '$coord_y' and 
					dvp.id_tipo_vp = t.id_tipo_vp and 
					dvp.id_categ_vp = c.id_categ_vp and 
					dvp.cod_estado = e.cod_estado and 
					dvp.cod_municipio = m.cod_municipio and 
					dvp.cod_parroquia = p.cod_parroquia";
		
		$this->respuesta = $conexion->consultar($sql) 
			or die("No se pudo Consultar las Vallas Publicitarias dada las Coordenadas: $coord_x - $coord_y.");
		
		$i = 0;
        while ( $temparray = $this->respuesta->buscar_fila() ) {
            $lista_vallas[$i][0] = $temparray['id_valla'];
			$lista_vallas[$i][1] = $temparray['id_tipo_vp'];
			$lista_vallas[$i][2] = strtoupper($temparray['desc_tipo_vp']);
			$lista_vallas[$i][3] = $temparray['id_categ_vp'];
			$lista_vallas[$i][4] = strtoupper($temparray['desc_categ_vp']);
			$lista_vallas[$i][5] = strtoupper($temparray['cod_estado']);
			$lista_vallas[$i][6] = strtoupper($temparray['estado']);
			$lista_vallas[$i][7] = strtoupper($temparray['cod_municipio']);
			$lista_vallas[$i][8] = strtoupper($temparray['municipio']);
			$lista_vallas[$i][9] = strtoupper($temparray['cod_parroquia']);
			$lista_vallas[$i][10] = strtoupper($temparray['parroquia']);
			$lista_vallas[$i][11] = $temparray['fecha_registro'];
           	$i++;
        }
        
        $conexion->desconectar();
		return $lista_vallas;
	}
	
	
    // =================================================================================================================
    //	FUNCION - CONSULTAR LOS DATOS DE UNA VALLA PUBLICITARIA
    // =================================================================================================================
	
    public function consultar_datos_vp( $id_valla ) {
        $conexion 	= new EnlaceBD;
        $var 		= $conexion->conectar( $_SESSION['db_rvp'] );
		
		$fmt_fecha 	= $conexion->extraerCampoFechaHora('dvp.fecha_registro');
		
        $sql = "select dvp.id_valla as id_valla, 
					dvp.coord_x as coord_x, 
					dvp.coord_y as coord_y, 
					dvp.id_tipo_vp as id_tipo_vp, 
					t.descripcion as desc_tipo_vp, 
					dvp.id_categ_vp as id_categ_vp, 
					c.descripcion as desc_categ_vp, 
					dvp.id_estad_vp as id_estad_vp, 
					es.descripcion as desc_estad_vp, 
					dvp.cod_estado as cod_estado, 
					e.estado as estado, 
					dvp.cod_municipio as cod_municipio,					
					m.municipio as municipio, 
					dvp.cod_parroquia as cod_parroquia, 
					p.parroquia as parroquia, 
					ds.login as login, 
					em.nombre as nombre, 
					em.apellido as apellido, 
					$fmt_fecha as fecha_registro, 
					dvp.observaciones as observaciones, 
					dvp.ruta_img1 as ruta_img1, 
					dvp.ruta_img2 as ruta_img2, 
					dvp.ruta_img3 as ruta_img3 
				from ".$_SESSION['db_rvp'].$_SESSION['schema_db'].".$this->trvp_datos_vp as dvp, 
					".$_SESSION['db_rvp'].$_SESSION['schema_db'].".$this->trvp_tipo_vp as t, 
					".$_SESSION['db_rvp'].$_SESSION['schema_db'].".$this->trvp_categ_vp as c, 
					".$_SESSION['db_rvp'].$_SESSION['schema_db'].".$this->trvp_estad_vp as es, 
					".$_SESSION['db_ctvtt'].$_SESSION['schema_db'].".$this->testado_i as e, 
					".$_SESSION['db_ctvtt'].$_SESSION['schema_db'].".$this->tmunicipio_i as m, 
					".$_SESSION['db_ctvtt'].$_SESSION['schema_db'].".$this->tparroquia_i as p, 
					".$_SESSION['db_portal'].$_SESSION['schema_db'].".$this->templeado as em 
				where dvp.id_valla = $id_valla and 
					dvp.id_tipo_vp = t.id_tipo_vp and 
					dvp.id_categ_vp = c.id_categ_vp and 
					dvp.id_estad_vp = es.id_estad_vp and 
					dvp.cod_estado = e.cod_estado and 
					dvp.cod_municipio = m.cod_municipio and 
					dvp.cod_parroquia = p.cod_parroquia and 
					dvp.login = em.login";	
		
        $this->respuesta = $conexion->consultar($sql) 
			or die("No se pudo Consultar los Datos de la Valla Publicitaria: $id_valla.");
		
		$temparray = $this->respuesta->buscar_fila();
			$lista_datos_vp[0] = $temparray['id_valla'];
			$lista_datos_vp[1] = $temparray['coord_x'];
			$lista_datos_vp[2] = $temparray['coord_y'];
			$lista_datos_vp[3] = $temparray['id_tipo_vp'];
			$lista_datos_vp[4] = strtoupper($temparray['desc_tipo_vp']);
			$lista_datos_vp[5] = $temparray['id_categ_vp'];
			$lista_datos_vp[6] = strtoupper($temparray['desc_categ_vp']);
			$lista_datos_vp[7] = $temparray['id_estad_vp'];
			$lista_datos_vp[8] = strtoupper($temparray['desc_estad_vp']);
			$lista_datos_vp[9] = strtoupper($temparray['cod_estado']);
			$lista_datos_vp[10] = strtoupper($temparray['estado']);
			$lista_datos_vp[11] = strtoupper($temparray['cod_municipio']);
			$lista_datos_vp[12] = strtoupper($temparray['municipio']);
			$lista_datos_vp[13] = strtoupper($temparray['cod_parroquia']);
			$lista_datos_vp[14] = strtoupper($temparray['parroquia']);
			$lista_datos_vp[15] = strtoupper($temparray['login']);
			$lista_datos_vp[16] = strtoupper($temparray['nombre']);
			$lista_datos_vp[17] = strtoupper($temparray['apellido']);
			$lista_datos_vp[18] = $temparray['fecha_registro'];
			$lista_datos_vp[19] = strtoupper($temparray['observaciones']);
			
			$lista_datos_vp[20] = $temparray['ruta_img1'];
			$lista_datos_vp[21] = $temparray['ruta_img2'];
			$lista_datos_vp[22] = $temparray['ruta_img3'];
		
        $conexion->desconectar();
        return $lista_datos_vp;
    }
    	
	
	// =================================================================================================================
    //	FUNCION - CONSULTAR LAS VALLAS PUBLICITARIAS PARA EL MAPA
    // =================================================================================================================
	
    public function consultar_valla_map( $id_tipo_vp, $id_categ_vp, $cod_estado, $cod_municipio, $cod_parroquia ) {
        $conexion 	= new EnlaceBD;
        $var 		= $conexion->conectar( $_SESSION['db_rvp'] );
		
		$fmt_fecha 	= $conexion->extraerCampoFechaHora('dvp.fecha_registro');
		
		$estado 	= '';
		$municipio	= '';
		$parroquia	= '';
		$tipo_vp	= '';
		$categ_vp	= '';
		$and		= 0;
		
		if ( $cod_estado != "T" ) {
			$estado = "dvp.cod_estado = '$cod_estado' ";
			
			if ( $cod_municipio != "T" ) {
				$municipio = " and dvp.cod_municipio = '$cod_municipio'";
				
				if ( $cod_parroquia != "T" ) {
					$parroquia .= " and dvp.cod_parroquia = '$cod_parroquia'";
				}
			}
			$and = 1;
		}

		if ( $id_tipo_vp != "T" ) {
			if ( $and == 1 )
				$tipo_vp	.= 'and ';
			$tipo_vp	.= "dvp.id_tipo_vp = $id_tipo_vp";
			$and = 1;
		}
		if ( $id_categ_vp != "T" ) {
			if ( $and == 1 )
				$categ_vp	.= 'and ';
			$categ_vp	.= "dvp.id_categ_vp = $id_categ_vp";
			$and = 1;
		}
		
		if ( $estado == '' && $tipo_vp	== '' && $categ_vp	== '' ) {
			$cond = '';
		} else {
			$cond = 'where ';
		}
		
        $sql = "select dvp.id_valla as id_valla, 
					dvp.coord_x as coord_x, 
					dvp.coord_y as coord_y, 
					dvp.id_tipo_vp as id_tipo_vp, 
					dvp.id_categ_vp as id_categ_vp, 
					dvp.id_estad_vp as id_estad_vp, 
					$fmt_fecha as fecha_registro 
				from ".$_SESSION['db_rvp'].$_SESSION['schema_db'].".$this->trvp_datos_vp as dvp 
				$cond $estado $municipio $parroquia $tipo_vp $categ_vp ";
		
        $this->respuesta = $conexion->consultar($sql) 
			or die("No se pudo Consultar los Datos de la Valla Publicitaria: $id_valla.");
		
		while ( $temparray = $this->respuesta->buscar_fila() ) {
			$lista_valla_map[0] .= $temparray['id_valla'].",";
			$lista_valla_map[1] .= $temparray['coord_x'].",";
			$lista_valla_map[2] .= $temparray['coord_y'].",";
			$lista_valla_map[3] .= $temparray['id_tipo_vp'].",";
			$lista_valla_map[4] .= $temparray['id_categ_vp'].",";
			$lista_valla_map[5] .= $temparray['id_estad_vp'].",";
			$lista_valla_map[6] .= $temparray['fecha_registro'].",";
		}
		
        $conexion->desconectar();
        return $lista_valla_map;
    }
	
	
	// =================================================================================================================
    //	FUNCION - ADJUNTAR LOS DATOS DE LAS FOTOS DE UNA VALLA PUBLICITARIA
    // =================================================================================================================
	
    public function adjuntar_fotos_vp( $id_valla, $ruta_img1, $ruta_img2, $ruta_img3 ) {
		$conexion 	= new EnlaceBD;
        $var 		= $conexion->conectar( $_SESSION['db_rvp'] );
		
		$sql = "update ".$_SESSION['db_rvp'].$_SESSION['schema_db'].".$this->trvp_datos_vp set 
					ruta_img1 = '$ruta_img1', 
					ruta_img2 = '$ruta_img2', 
					ruta_img3 = '$ruta_img3' 
				where id_valla = $id_valla";
		
        $this->respuesta = $conexion->consultar($sql) 
			or die("No se pudo Adjuntar las Fotos de la Valla Publicitaria.");
		
        $conexion->desconectar();
        return true;
    }
	
	
	// =================================================================================================================
    //	FUNCION - ELIMINAR UNA VALLA PUBLICITARIA
    // =================================================================================================================
	
    public function eliminar_valla( $id_valla ) {
		$conexion 	= new EnlaceBD;
        $var 		= $conexion->conectar( $_SESSION['db_rvp'] );
		
		$sql = "delete from ".$_SESSION['db_rvp'].$_SESSION['schema_db'].".$this->trvp_datos_vp 
				where id_valla = $id_valla";
		
        $this->respuesta = $conexion->consultar($sql) 
			or die("No se pudo Eliminar la Valla Publicitaria.");
        
        $conexion->desconectar();
        return true;
    }
}
?>
